
// https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/

public class GetCommonAncestor {
    private static class TreeNode{
        int val;
        TreeNode left;
        TreeNode right;
        public TreeNode(int val)
        {
            this.val = val;
        }
    }
    class Solution {
        public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {


            if(root == p || root == q || root == null) return root;
            TreeNode left = lowestCommonAncestor(root.left,p,q);
            TreeNode right = lowestCommonAncestor(root.right,p,q);
            if(left != null && right != null) return root;
            else if(left != null && right == null) return left;
            else if(left == null && right != null) return right;
            return null;



        }
    }
}
